#!/bin/sh
#
# Copyright 2014-present Facebook. All Rights Reserved.
#
# This program file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program in a file named COPYING; if not, write to the
# Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301 USA
#

BIN_CONSOLED="/usr/local/bin/consoled"
LOGFILE1="/tmp/consoled_$1_log-old"
LOGFILE2="/tmp/consoled_$1_log"


if [ "$1" == "slot1" ] || [ "$1" == "slot2" ] || [ "$1" == "slot3" ] || [ "$1" == "slot4" ]
then
  SLOT=$1
else
  echo "Usage: sol-util [ slot1 | slot2 | slot3 | slot4 ]"
  echo "       sol-util [ slot1 | slot2 | slot3 | slot4 ] --force"
  echo "       sol-util [ slot1 | slot2 | slot3 | slot4 ] --history"
  exit -1
fi

if [ $# -gt 1 ]; then
  if [[ "$2" == "--history" ]]; then
    cat $LOGFILE1 2>/dev/null
    cat $LOGFILE2 2>/dev/null
    exit 0
  fi
fi

PS=$(ps -w| grep -e $BIN_CONSOLED | grep -e $SLOT)

PID=$(ps -w| grep -e $BIN_CONSOLED | grep -e $SLOT | awk '{print $1}')


if [[ $PS =~ "term" ]] && [[ "$2" != "--force" ]]; then
  echo "Another SOL session is running."
  echo "Please use the \"--force\" option"
  exit -1
fi

echo "You are in SOL session."
echo "Use ctrl-x to quit."
echo "-----------------------"
echo

kill -9 -s TERM $PID 2>/dev/null

if [[ "$2" == "--force" ]]; then
  PID=$(ps -w| grep -e $BIN_CONSOLED | grep -e $SLOT | awk '{print $1}')
  kill -9  $PID 2>/dev/null
fi

$BIN_CONSOLED $SLOT --term

$BIN_CONSOLED $SLOT --buffer

echo
echo
echo "-----------------------"
echo "Exit from SOL session."
